package com.ld.security.common.core.base.service;

import com.ld.security.common.core.base.entity.ETreeEntity;
import com.ld.security.common.core.base.po.PagePo;
import com.ld.security.common.core.base.vo.PageVo;

import java.util.List;

public interface ITreeService<E extends ETreeEntity<E>> extends ISuperService<E> {


    List<E> buildPageTree(List<E> page) ;

    /**
     * 获得完整树
     * @return
     */
    PageVo<E> getTree();


    /**
     * 将查询结果变为树
     * @param
     * @param page
     * @return
     */
    PageVo<E> pageTree(PagePo<E> page);


    /**
     * 根据参数初始化树数据
     * @param eList
     */
    void initTree(List<E> eList);

}
